package com.mzw.command;

public class Client {

	public static void main(String[] args) {
		// 使用命令设计模式，完成通过遥控器，对电灯的操作

		// 创建电灯的对象(接受者)
		LightReceiver lightReceiver = new LightReceiver();

		// 创建电灯相关的开关命令
		LightOnCommand lightOnCommand = new LightOnCommand(lightReceiver);
		LightOffCommand lightOffCommand = new LightOffCommand(lightReceiver);

		// 需要一个遥控器
		RemoteController remoteController = new RemoteController();

		// 给我们的遥控器设置命令, 比如 no = 0 是电灯的开和关的操作
		remoteController.setCommand(0, lightOnCommand, lightOffCommand);

		System.out.println("--------按下灯的开按钮-----------");
		remoteController.onButtonWasPushed(0);
		System.out.println("--------按下灯的关按钮-----------");
		remoteController.offButtonWasPushed(0);
		System.out.println("--------按下撤销按钮-----------");
		remoteController.undoButtonWasPushed();

//		System.out.println("=========使用遥控器操作电视机==========");
//		
//		TVReceiver tvReceiver = new TVReceiver();
//		
//		TVOffCommand tvOffCommand = new TVOffCommand(tvReceiver);
//		TVOnCommand tvOnCommand = new TVOnCommand(tvReceiver);
//		
//		//给我们的遥控器设置命令, 比如 no = 1 是电视机的开和关的操作
//		remoteController.setCommand(1, tvOnCommand, tvOffCommand);
//
//		System.out.println("--------按下电视机的开按钮-----------");
//		remoteController.onButtonWasPushed(1);
//		System.out.println("--------按下电视机的关按钮-----------");
//		remoteController.offButtonWasPushed(1);
//		System.out.println("--------按下撤销按钮-----------");
//		remoteController.undoButtonWasPushed();

	}
}
